package com.yicong.ants.bean.scenic;

import com.yicong.ants.bean.base.BaseBean;
import com.yicong.ants.bean.common.PageInfoBean;

import java.util.ArrayList;
import java.util.List;

/**
 * author  cchao
 * date  2017/2/24
 **/
public class TourimsScenicListResp extends BaseBean {

    Data data;

    public TourimsScenicListResp() {
    }

    public PageInfoBean getPageInfo() {
        return data.getPageInfo();
    }

    public Data getData() {
        return this.data;
    }

    public void setData(Data data) {
        this.data = data;
    }

    public boolean equals(final Object o) {
        if (o == this) return true;
        if (!(o instanceof TourimsScenicListResp)) return false;
        final TourimsScenicListResp other = (TourimsScenicListResp) o;
        if (!other.canEqual((Object) this)) return false;
        if (!super.equals(o)) return false;
        final Object this$data = this.getData();
        final Object other$data = other.getData();
        if (this$data == null ? other$data != null : !this$data.equals(other$data)) return false;
        return true;
    }

    protected boolean canEqual(final Object other) {
        return other instanceof TourimsScenicListResp;
    }

    public int hashCode() {
        final int PRIME = 59;
        int result = super.hashCode();
        final Object $data = this.getData();
        result = result * PRIME + ($data == null ? 43 : $data.hashCode());
        return result;
    }

    public String toString() {
        return "TourimsScenicListResp(data=" + this.getData() + ")";
    }

    public static class Data {
        public PageInfoBean pageInfo = new PageInfoBean();
        private List<ScenicItem> list = new ArrayList<>();
        private List<ChargeScenicItem> chargeList = new ArrayList<>();

        public Data() {
        }

        public PageInfoBean getPageInfo() {
            return this.pageInfo;
        }

        public List<ScenicItem> getList() {
            return this.list;
        }

        public List<ChargeScenicItem> getChargeList() {
            return this.chargeList;
        }

        public void setPageInfo(PageInfoBean pageInfo) {
            this.pageInfo = pageInfo;
        }

        public void setList(List<ScenicItem> list) {
            this.list = list;
        }

        public void setChargeList(List<ChargeScenicItem> chargeList) {
            this.chargeList = chargeList;
        }

        public boolean equals(final Object o) {
            if (o == this) return true;
            if (!(o instanceof Data)) return false;
            final Data other = (Data) o;
            if (!other.canEqual((Object) this)) return false;
            final Object this$pageInfo = this.getPageInfo();
            final Object other$pageInfo = other.getPageInfo();
            if (this$pageInfo == null ? other$pageInfo != null : !this$pageInfo.equals(other$pageInfo))
                return false;
            final Object this$list = this.getList();
            final Object other$list = other.getList();
            if (this$list == null ? other$list != null : !this$list.equals(other$list))
                return false;
            final Object this$chargeList = this.getChargeList();
            final Object other$chargeList = other.getChargeList();
            if (this$chargeList == null ? other$chargeList != null : !this$chargeList.equals(other$chargeList))
                return false;
            return true;
        }

        protected boolean canEqual(final Object other) {
            return other instanceof Data;
        }

        public int hashCode() {
            final int PRIME = 59;
            int result = 1;
            final Object $pageInfo = this.getPageInfo();
            result = result * PRIME + ($pageInfo == null ? 43 : $pageInfo.hashCode());
            final Object $list = this.getList();
            result = result * PRIME + ($list == null ? 43 : $list.hashCode());
            final Object $chargeList = this.getChargeList();
            result = result * PRIME + ($chargeList == null ? 43 : $chargeList.hashCode());
            return result;
        }

        public String toString() {
            return "TourimsScenicListResp.Data(pageInfo=" + this.getPageInfo() + ", list=" + this.getList() + ", chargeList=" + this.getChargeList() + ")";
        }
    }
}
